package com.spider.spiderflowable.business.entity.model;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author xiong.bo
 * @version 1.0
 * @date 2025/4/20 3:31 下午
 */

@EqualsAndHashCode(callSuper = true)
@Data
@TableName("flow_approval_request")
public class FlowApprovalRequest extends BaseModel {


  /**
   * 申请编号
   */
  private String requestNo;

  /**
   * 申请类型(工单关闭/请假/外出等)
   */
  private String requestType;

  /**
   * 流程实例ID
   */
  private String processInstanceId;

  /**
   * 流程实例ID
   */
  private String taskInstanceId;

  /**
   * 流程定义key
   */
  private String processDefinitionKey;

  /**
   * 任务定义key
   */
  private String taskDefinitionKey;

  /**
   * 申请标题
   */
  private String title;

  /**
   * 申请人ID
   */
  private Long applicantId;

  /**
   * 申请人姓名
   */
  private String applicantName;

  /**
   * 申请人部门ID
   */
  private Long departmentId;

  /**
   * 申请人部门名称
   */
  private String departmentName;

  /**
   * 申请内容
   */
  private String requestContent;

  /**
   * 附件URL，多个用逗号分隔
   */
  private String attachment;

  /**
   * DRAFT:待提交，PENDING:审批中，APPROVED:已通过，REJECTED:已拒绝，CANCELLED:已撤回
   */
  private String approvalStatus;

  /**
   * 当前审批人ID(指定人审批)
   */
  private Long currentApproverId;

  /**
   * 当前审批人姓名(指定人审批)
   */
  private String currentApproverName;

  /**
   * 优先级(0:普通,1:紧急,2:特急)
   */
  private Integer priority;

  /**
   * 关联业务ID
   */
  private String businessId;

  /**
   * 关联业务类型-关单/请假
   */
  private String businessType;

  /**
   * 服务调用方来源
   */
  private String businessSource;

  /**
   * 调用方回调接口地址
   */
  private String businessCallbackUrl;

  /**
   * 业务信息
   */
  private String businessInfo;


}
